package cn.tedu.innerclass;
/*本类用来测试成员内部类被static修饰*/
public class TestInner3 {
    public static void main(String[] args) {
        /*如何访问内部类的show()呢*/
        //4.创建内部类对象并访问
        //方式一：按照之前的方式，创建内部类对象并调用
        //Outer3.Inter3 oi3 = new Outer3().new Inter3();
        //oi3.show();
        //方式二：创建匿名内部类对象来访问show()
        //new Outer3().new Inter3().show();
        //6.用static修饰成员内部类以后上面的创建语句都报错了
        /*我们可以通过外部类类名直接创建静态内部类对象，无需再创建外部类对象了*/
        Outer3.Inter3 oi = new Outer3.Inter3();
        oi.show();
        //7.匿名内部类对象调用show（）
        new Outer3.Inter3().show();
        //9.访问静态内部类中的静态资源---链式加载
        Outer3.Inter3.show2();
    }
}
//1.创建外部类
class Outer3{
    //2.创建成员内部类
    //5.内部类被static修饰---并不常用！！！浪费内存
    static class Inter3{
        //3.创建普通成员方法
        public void show(){
            System.out.println("Inter3...show()");
        }
        //8. 创建静态成员内部类中的静态方法
        static public void show2(){
            System.out.println("Inter3...show2()");
        }
    }
}
